Go 控制协程(goroutine)的并发数量 | 您所在的位置:网站首页 › golang 限制最大并发 › Go 控制协程(goroutine)的并发数量 |
在使用协程并发处理某些任务时, 其并发数量往往因为各种因素的限制不能无限的增大. 例如网络请求、数据库查询等等。 从运行效率角度考虑,在相关服务可以负载的前提下(限制最大并发数),尽可能高的并发。 在Go语言中,可以使用一些方法来控制协程(goroutine)的并发数量,以防止并发过多导致资源耗尽或性能下降 1、使用信号量(Semaphore)可以使用 Go 语言中的 channel 来实现简单的信号量,限制并发数量 package main import ( "fmt" "sync" ) func worker(id int, sem chan struct{}) { sem |
CopyRight 2018-2019 实验室设备网 版权所有 |